home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / basic / PureBasic_Upd.lha / PureBasic_Update1.60 / PureBasic / Examples / Sources / Menu.pb < prev    next >
Encoding:
Text File  |  2000-09-10  |  1.8 KB  |  94 lines

  1. ;
  2. ; *********************************
  3. ;
  4. ; Menus example file for PureBasic
  5. ;
  6. ;   © 2000 - Fantaisie Software -
  7. ;
  8. ; *********************************
  9. ;
  10. ;
  11.  
  12. InitScreen  (0)    ; We need 1 screen
  13. InitWindow  (0)    ; 1 window
  14. InitTagList (10)   ; a taglist upto 11 tags
  15. InitMenu    (0,30) ; 1 menu with maximum 30 items
  16.  
  17. FindScreen (0,"")  ; Find the default screen
  18.  
  19. ShowScreen()       ; Bring it to front of the display
  20.  
  21. ;
  22. ; Build the menus (note the indentation which is important for better read)
  23. ;
  24.  
  25. MenuTitle("Project")
  26.  
  27.   MenuItem (1, "Open", 0)
  28.     MenuSubItem (2, "Brush", "B")
  29.     MenuSubBar  ()
  30.     MenuSubItem (3, "Picture", "I")
  31.  
  32.   MenuItem      (4, "Save As...", "")
  33.   MenuCheckItem (5, "Compression ?", "C", 1)
  34.   MenuBar       ()
  35.   MenuItem      (6, "Quit", "Q")    ; Quit
  36.  
  37. MenuTitle("Preferences")
  38.   MenuItem (7, "Save", 0)
  39.  
  40. CreateMenu(0, ScreenID())  ; Create our menu
  41.  
  42. WinTitle.s = "Menu example"
  43.  
  44. ResetTagList (#WA_Title, WinTitle)
  45.      AddTag (#WA_SmartRefresh,1)
  46.      AddTag (#WA_CustomScreen, ScreenID())
  47.      AddTag (#WA_NewLookMenus, 1)
  48.  
  49. If OpenWindow(0, 100, 40, 300, 100, #WFLG_CLOSEGADGET | #WFLG_DRAGBAR | #WFLG_DEPTHGADGET | #WFLG_ACTIVATE, TagListID())
  50.  
  51.   AttachMenu(0,WindowID())  ; Attach our menu to the opened window
  52.  
  53.   Compression = 1
  54.  
  55.   Repeat
  56.     VWait()
  57.     IDCMP.l = WindowEvent()
  58.  
  59.     If IDCMP = #IDCMP_MENUPICK
  60.       Select EventGadget()
  61.  
  62.         Case 2
  63.           PrintN("Sub-Menu 'Brush'")
  64.  
  65.         Case 3
  66.           PrintN("Sub-Menu 'Picture'")
  67.  
  68.         Case 4
  69.           PrintN("Menu 'Save As...'")
  70.  
  71.         Case 5
  72.           Print("Menu 'Compression=")
  73.  
  74.           Compression = 1-Compression
  75.  
  76.           If Compression
  77.             PrintN("On")
  78.           Else
  79.             PrintN("Off")
  80.           EndIf
  81.  
  82.         Case 6
  83.           IDCMP = #IDCMP_CLOSEWINDOW
  84.  
  85.       EndSelect        
  86.  
  87.     EndIf
  88.  
  89.   Until IDCMP = #IDCMP_CLOSEWINDOW
  90.  
  91. EndIf
  92.  
  93. End
  94.